bc68a502525396b69c29ef33f0d7a0a13094eca3,languagetool-core/src/main/java/org/languagetool/rules/ConfusionProbabilityRule.java,ConfusionProbabilityRule,get3gramProbabilityFor,#GoogleToken#List#String#,226

Before Change



  private double get3gramProbabilityFor(GoogleToken token, List<GoogleToken> tokens, String term) {
    Probability ngram3Left = getPseudoProbability(getContext(token, tokens, term, 0, 2));
    Probability ngram3Middle = getPseudoProbability(getContext(token, tokens, term, 1, 1));
    Probability ngram3Right = getPseudoProbability(getContext(token, tokens, term, 2, 0));
    if (ngram3Left.coverage < MIN_COVERAGE && ngram3Middle.coverage < MIN_COVERAGE && ngram3Right.coverage < MIN_COVERAGE) {
      debug("  Min coverage of %.2f not reached: %.2f, %.2f, %.2f, assuming p=0\n", MIN_COVERAGE, ngram3Left.coverage, ngram3Middle.coverage, ngram3Right.coverage);

After Change


    Probability ngram3Left;
    Probability ngram3Middle;
    Probability ngram3Right;
    if (newTokens.size() == 1) {
      ngram3Left = getPseudoProbability(getContext(token, tokens, term, 0, 2));
      ngram3Middle = getPseudoProbability(getContext(token, tokens, term, 1, 1));
      ngram3Right = getPseudoProbability(getContext(token, tokens, term, 2, 0));
    } else if (newTokens.size() == 2) {
      // e.g. you're -> you 're